home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 April: Mac OS SDK / Dev.CD Apr 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / CIncludes / QD3DCustomElements.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-17  |  3.5 KB  |  150 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        QD3DCustomElements.h
  3.  
  4.      Contains:    Custom QuickTime Elements in QuickDraw 3D                            
  5.  
  6.      Version:    Technology:    Quickdraw 3D 1.5.4
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1995-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __QD3DCUSTOMELEMENTS__
  18. #define __QD3DCUSTOMELEMENTS__
  19.  
  20. #ifndef __QD3D__
  21. #include <QD3D.h>
  22. #endif
  23.  
  24.  
  25.  
  26. #if PRAGMA_ONCE
  27. #pragma once
  28. #endif
  29.  
  30. #ifdef __cplusplus
  31. extern "C" {
  32. #endif
  33.  
  34. #if PRAGMA_IMPORT
  35. #pragma import on
  36. #endif
  37.  
  38. #if PRAGMA_STRUCT_ALIGN
  39.     #pragma options align=power
  40. #elif PRAGMA_STRUCT_PACKPUSH
  41.     #pragma pack(push, 2)
  42. #elif PRAGMA_STRUCT_PACK
  43.     #pragma pack(2)
  44. #endif
  45.  
  46. #if PRAGMA_ENUM_ALWAYSINT
  47.     #pragma enumsalwaysint on
  48. #elif PRAGMA_ENUM_OPTIONS
  49.     #pragma option enum=int
  50. #elif PRAGMA_ENUM_PACK
  51.     #if __option(pack_enums)
  52.         #define PRAGMA_ENUM_PACK__QD3DCUSTOMELEMENTS__
  53.     #endif
  54.     #pragma options(!pack_enums)
  55. #endif
  56.  
  57.  
  58. /******************************************************************************
  59.  **                                                                             **
  60.  **                        Name Data Structure Definitions                         **
  61.  **                                                                             **
  62.  *****************************************************************************/
  63. #define    CEcNameElementName    "Apple Computer, Inc.:NameElement"
  64.  
  65.  
  66. /******************************************************************************
  67.  **                                                                             **
  68.  **                        Custom Name Element Functions                         **
  69.  **                                                                             **
  70.  *****************************************************************************/
  71. EXTERN_API_C( TQ3Status )
  72. CENameElement_SetData            (TQ3Object                 object,
  73.                                  const char *            name);
  74.  
  75. EXTERN_API_C( TQ3Status )
  76. CENameElement_GetData            (TQ3Object                 object,
  77.                                  char **                name);
  78.  
  79. EXTERN_API_C( TQ3Status )
  80. CENameElement_EmptyData            (char **                name);
  81.  
  82.  
  83. /******************************************************************************
  84.  **                                                                             **
  85.  **                            URL Data Structure Definitions                     **
  86.  **                                                                             **
  87.  *****************************************************************************/
  88. #define    CEcUrlElementName        "Apple Computer, Inc.:URLElement"
  89.  
  90. enum TCEUrlOptions {
  91.     kCEUrlOptionNone            = 0,
  92.     kCEUrlOptionUseMap            = 1
  93. };
  94. typedef enum TCEUrlOptions TCEUrlOptions;
  95.  
  96.  
  97. struct TCEUrlData {
  98.     char *                            url;
  99.     char *                            description;
  100.     TCEUrlOptions                     options;
  101. };
  102. typedef struct TCEUrlData                TCEUrlData;
  103. /******************************************************************************
  104.  **                                                                             **
  105.  **                        Custom URL Element Functions                         **
  106.  **                                                                             **
  107.  *****************************************************************************/
  108. EXTERN_API_C( TQ3Status )
  109. CEUrlElement_SetData            (TQ3Object                 object,
  110.                                  TCEUrlData *            urlData);
  111.  
  112. EXTERN_API_C( TQ3Status )
  113. CEUrlElement_GetData            (TQ3Object                 object,
  114.                                  TCEUrlData **            urlData);
  115.  
  116. EXTERN_API_C( TQ3Status )
  117. CEUrlElement_EmptyData            (TCEUrlData **            urlData);
  118.  
  119.  
  120.  
  121.  
  122. #if PRAGMA_ENUM_ALWAYSINT
  123.     #pragma enumsalwaysint reset
  124. #elif PRAGMA_ENUM_OPTIONS
  125.     #pragma option enum=reset
  126. #elif defined(PRAGMA_ENUM_PACK__QD3DCUSTOMELEMENTS__)
  127.     #pragma options(pack_enums)
  128. #endif
  129.  
  130. #if PRAGMA_STRUCT_ALIGN
  131.     #pragma options align=reset
  132. #elif PRAGMA_STRUCT_PACKPUSH
  133.     #pragma pack(pop)
  134. #elif PRAGMA_STRUCT_PACK
  135.     #pragma pack()
  136. #endif
  137.  
  138. #ifdef PRAGMA_IMPORT_OFF
  139. #pragma import off
  140. #elif PRAGMA_IMPORT
  141. #pragma import reset
  142. #endif
  143.  
  144. #ifdef __cplusplus
  145. }
  146. #endif
  147.  
  148. #endif /* __QD3DCUSTOMELEMENTS__ */
  149.  
  150.